#ifndef STACKNQUEUE_H_INCLUDED
#define STACKNQUEUE_H_INCLUDED
#include <stdio.h>
#include <stdlib.h>
#define TRUE 1
#define FALSE 0
struct stack_node
{
    int number;
    struct stack_node *prev, *next;
};
typedef struct stack_node STACK_NODE;
struct stack
{
    STACK_NODE *first;
    STACK_NODE *last;
};
typedef struct stack STACK;
struct queue_node
{
    int number;
    struct queue_node *prev, *next;
};
typedef struct queue_node QUEUE_NODE;
struct queue
{
    QUEUE_NODE *first;
    QUEUE_NODE *last;
};
typedef struct queue QUEUE;
void pushStack(int, STACK *);
void printStack(STACK);
int popStack(STACK *);
void pushQueue(int, QUEUE *);
void printQueue(QUEUE);
int popQueue(QUEUE *);
void SolveProblem(int);
#endif // STACKNQUEUE_H_INCLUDED
